const { prisma } = require('../config/prisma');
const {
  CONTACT_VIEW_CONFIG_DEFAULTS
} = require('../config/contactViewConfigDefaults');

async function initContactViewConfig() {
  try {
    console.log('🔧 初始化联系方式查看配置...');

    const defaultEntries = Object.entries(CONTACT_VIEW_CONFIG_DEFAULTS);

    for (const [configKey, configMeta] of defaultEntries) {
      const existing = await prisma.contact_view_config.findUnique({
        where: { config_key: configKey }
      });

      if (existing) {
        console.log(`ℹ️ 配置已存在: ${configKey}，当前值为 ${existing.config_value}`);
        continue;
      }

      await prisma.contact_view_config.create({
        data: {
          config_key: configKey,
          config_value: configMeta.value,
          description: configMeta.description
        }
      });
      console.log(`✅ 创建配置: ${configKey} = ${configMeta.value}`);
    }

    console.log('🎉 联系方式查看配置初始化完成！');

  } catch (error) {
    console.error('❌ 初始化配置失败:', error);
    throw error;
  } finally {
    await prisma.$disconnect();
  }
}

// 如果直接运行此脚本
if (require.main === module) {
  initContactViewConfig()
    .then(() => {
      console.log('✅ 脚本执行完成');
      process.exit(0);
    })
    .catch((error) => {
      console.error('❌ 脚本执行失败:', error);
      process.exit(1);
    });
}

module.exports = { initContactViewConfig };
